package co.edu.eam.laapuesta.persistencia.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import co.edu.eam.laapuesta.persistencia.entidades.Operador;
import co.edu.eam.laapuesta.persistencia.entidades.Recarga;
import co.edu.eam.laapuesta.persistencia.entidades.Sucursal;
import co.edu.eam.laapuesta.persistencia.idao.SucursalIDAO;

public class SucursalDAO implements SucursalIDAO {

	private EntityManager em;

	public SucursalDAO(EntityManager em) {
		this.em = em;
	}

	@Override
	public void crearSucursal(Sucursal sucursal) {
		// TODO Auto-generated method stub
		em.persist(sucursal);
	}

	@Override
	public Sucursal buscarSucursal(long id) {
		// TODO Auto-generated method stub
		return em.find(Sucursal.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Sucursal> listarSucursal() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Sucursal.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public Recarga buscarRecarga(long id) {
		// TODO Auto-generated method stub
		return em.find(Recarga.class, id);
	}

	@Override
	public void crearRecarga(Recarga recarga) {
		// TODO Auto-generated method stub
		em.persist(recarga);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Recarga> listarRecargas() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Recarga.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public Operador buscarOperador(long id) {
		// TODO Auto-generated method stub
		return em.find(Operador.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Operador> listarOperador() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Operador.FIND_ALL);
		return q.getResultList();
	}

}
